package com.inspur.dgov.bsp.application.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.inspur.dgov.bsp.application.entity.PubRole;
import com.inspur.dgov.common.tool.node.TreeNode;

import java.util.List;
import java.util.Map;

/**
 * 系统各种树服务类
 *
 * @Author chiyupei
 * @Date 19/9/24 上午10:29
 * @Version 1.0
 * @Description 系统各种树服务类
 */
public interface TreeService extends IService<TreeNode> {

    /**
     * 父级资源
     *
     * @return
     */
    List<TreeNode> resourceParent(Map<String, Object> param);

    /**
     * 父级角色
     *
     * @return
     */
    List<TreeNode> roleParent(Map<String, Object> param);

    /**
     * 授权资源
     *
     * @return
     */
    List<TreeNode> grantResource();

    /**
     * 根据角色获取授权资源
     *
     * @return
     */
    List<TreeNode> grantResourceByRole(List<String> list);

    /**
     * 授权角色
     *
     * @return
     */
    List<TreeNode> grantRole(PubRole role);
}
